package com.xh.bussiness.tiku.model;

import com.baomidou.mybatisplus.annotation.TableName;
import com.xh.core.model.SuperEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 试卷表
 * </p>
 *
 * @author JQM
 * @since 2019-08-27
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tiku_paper")
public class Paper extends SuperEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 当前版本
     */
    private Integer currentVersion;

    /**
     * 试卷类别 （1：标准试卷，2：我的组卷）
     */
    private Integer type;

    /**
     * 试卷板式：1：普通版  2：正式版
     */
    private Integer format;

    /**
     * 试卷来源 1 手动组卷 2 智能组卷 3 上传试卷 4 批量保存原卷
     */
    private Integer sourceFrom;

    /**
     * 上传试卷地址
     */
    private String filePath;
    /**
     * 学段
     */
    private String gradeRange;

    /**
     * 学科ID
     */
    private String subjectId;

    /**
     * 类别：期中考试 单元测试 月考 期末考试
     */
    private String categoryId;

    /**
     * 学期：春夏秋冬
     */
    private String season;

    /**
     * 来源
     */
    private String source;

    /**
     * 年级
     */
    private String gradeId;
    /**
     * 年份
     */
    private String year;

    /**
     *省份
     */
    private String provinceId;

    /**
     * 省份名称
     */
    private String provinceName;

    /**
     * 城市
     */
    private String cityId;

    /**
     * 市区名称
     */
    private String  cityName;

    /**
     * 区县
     */
    private String county;

    /**
     * 区县名称
     */
    private String countyName;

    /**"龙文市区id*/
    private String longwenCityId;

    /**"龙文市区名称*/
    private String longwenCityName;

    /**"龙文分校id*/
    private String longwenBranchId;

    /**"龙文分校名称*/
    private String longwenBranchName;

    /**龙文区域id*/
    private String longwenAreaId;

    /**龙文区域名称*/
    private String longwenAreaName;

    /**校区id*/
    private String schoolId;
    
    /**
     * 标题
     */
    private String title;

    /**
     * 副标题
     */
    private String sideTitle;

    /**
     * 章节数
     */
    private Integer chapterCount;

    /**
     * 试题数
     */
    private Integer questionCount;

    /**
     * 总分数
     */
    private Integer totalScore;

    /**
     * 用时
     */
    private Integer useTime;

    /**
     * 是否显示标题 0 否 1 是
     */
    private Integer showTitle;

    /**
     * 是否显示时间和总分 0 否 1 是
     */
    private Integer showTime;

    /**
     * 是否显示机构信息 0 否 1 是
     */
    private Integer showOrgInfo;

    /**
     * 是否显示评分区 0 否 1 是
     */
    private Integer showScore;

    /**
     * 是否显示副标题 0 否 1 是
     */
    private Integer showSideTitle;

    /**
     * 是否显示密封线 0 否 1 是
     */
    private Integer showSealing;

    /**
     * 是否显示学生信息
     */
    private Integer showStuInfo;

    /**
     * 是否显示大题分值（0 否 1 是）
     */
    private Integer showChapterScore;

    /**
     * 审核状态
     */
    private Integer checkStatus = 0;

    /**
     * 驳回原因
     */
    private String rejectReason;

    /**
     * 驳回描述
     */
    private String rejectDesc;

    /**
     * 下载次数
     */
    private Integer downloadCount;

    /**
     * 箐优网试卷id
     */
    private String jyPaperId;

    /**
     * 是否公共（0否，1是）
     */
    private Integer isPublic = 0;

    /**
     * 是否是练习 0否 1是
     **/
    private Integer isExercise;

    /**
     * 练习分类（1：进门测，2：过手练，3:出门测,4：作业）
     **/
    private Integer exerciseType;

    /**
     * 班型id
     **/
    private String courseTypeId;

    /**
     * 教材版本id
     **/
    private String teacherBookVersionId;

    /**
     * 是否是入学测（0：否1：是）
     */
    private Integer isEntranceTest;

    /**
     * 入学测微信小程序二维码
     */
    private String qrCodeUrl;

    /**
     * 作答次数
     */
    private Integer answerCount;

    /**
     * 状态
     */
    private Integer status;
    /**
     * 是不是标准同步练习，0-否  1-是
     */
    private Integer standardExercise;

    public Paper init(){
        this.currentVersion=1;
        this.chapterCount=0;
        this.questionCount=0;
        this.totalScore=0;
        return this;
    }
}
